Datacenters provide servers for running large applications. Enterprises often use datacenters to run core business functions such as sales, marketing, human resources, billing, product catalogs, and so forth. Datacenters may also run customer-facing applications, such as web sites, web services, email hosts, databases, and many other applications. Datacenters are typically built by determining an expected peak load and providing servers, network infrastructure, cooling, and other resources to handle the peak load level. Datacenters are known for being very expensive and for being underutilized at non-peak times. They also involve a relatively high management expense in terms of both equipment and personnel for monitoring and performing maintenance on the datacenter. Because almost every enterprise uses a datacenter of some sort, there are many redundant functions performed by organizations across the world.
Cloud computing has emerged as one optimization of the traditional datacenter. A cloud is defined as a set of resources (e.g., processing, storage, or other resources) available through a network that can serve at least some traditional datacenter functions for an enterprise. A cloud often involves a layer of abstraction such that the applications and users of the cloud may not know the specific hardware that the applications are running on, where the hardware is located, and so forth. This allows the cloud operator some additional freedom in terms of rotating resources into and out of service, maintenance, and so on. Clouds may include public clouds, such as MICROSOFT™ Azure, Amazon Web Services, and others, as well as private clouds, such as those provided by Eucalyptus Systems, MICROSOFT™, and others. Companies have begun offering appliances (e.g., the MICROSOFT™ Azure Appliance) that enterprises can place in their own datacenters to connect the datacenter with varying levels of cloud functionality.
Enterprises with datacenters incur substantial costs building out large datacenters, even when cloud-based resources are leveraged. Enterprises often still planned for “worst-case” peak scenarios and thus include an amount of hardware at least some of which is rarely used or underutilized in terms of extra processing capacity, extra storage space, and so forth. This extra amount of resources incurs a high cost for little return. Customers using cloud based computing on premise expect to be able to use capacity in another compatible cloud (e.g., a second instance of their own in another location, Microsoft's public cloud, and so forth) for peak capacity times, for disaster recover scenarios, or just for capacity management. Doing so is much less expensive than building out for the worst-case scenario and then doubling for redundancy. In addition, they expect to be able to manage (e.g., troubleshoot, operate) applications split across multiple clouds. Today, applications, cloud management, and troubleshooting do not operate across clouds or other datacenters.